package com.lw.common.enums;

import com.fasterxml.jackson.annotation.JsonValue;
import com.mybatisflex.annotation.EnumValue;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;

@Schema(enumAsRef = true)
@Getter
public enum LogModuleEnum {

    // 操作日志类型
    LOG_EXCEPTION("异常"),
    LOG_LOGIN("登录"),
    LOG_USER("用户"),
    LOG_DEPT("部门"),
    LOG_ROLE("角色"),
    LOG_ROLE_MENU("角色权限"),
    LOG_USER_ROLE("用户角色关联"),
    LOG_MENU("菜单"),
    LOG_DICT("字典"),
    LOG_SETTING("系统配置"),
    LOG_FILE("文件上传"),
    LOG_OTHER("其他");


    /**
     * @EnumValue 注解用于指定数据库中存储的枚举值。 没有的话 数据库字符串类型无法对应枚举类型
     * 数据库中存储的枚举值。
     * @JsonValue 注解用于指定在序列化和反序列化时，使用的 JSON 值。
     */
    @JsonValue
    @EnumValue
    private final String value;

    LogModuleEnum(String moduleName) {
        this.value = moduleName;
    }
}
